const App = getApp();
// 工具类
import Util from '../../utils/util.js';
Page({
  /**
   * 页面的初始数据
   */
  data: {
    isLogin: false,
    teamId:0,
    list:[],
    cate:1,     //1全部企业，2本队企业
    menuId:0,     //menu
    searchInput:"",
    scrollHeight: null,
    no_more: false, // 没有更多数据
    isLoading: true, // 是否正在加载中
    page1: 1,          // 当前页码
    last_page:1,       //最后页码
    isRefresh:true,    //控制页面刷新
    orderChecked:false,//是否使用生日排序
    showPopup:false,
    QRCodeImage:'',
    //导航列表
    menuList:[
      {id: 0,name: "全部"},
      {id: 1,name: "互联网"},
      {id: 2,name: "印刷包装"},
      {id: 3,name: "家具木器"},
      {id: 4,name: "房产工程"},
      {id: 5,name: "家居装修"},
    ],
    longitude:0,
    latitude:0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
     //设置页面标题
     wx.setNavigationBarTitle({
      title: App.getConfig().company.list,
      isRefresh:true
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    //回到页面顶部
    // if (wx.pageScrollTo) {
    //   wx.pageScrollTo({
    //       scrollTop: 0
    //   })
    // }
    if(this.data.isRefresh){
      let that = this;
      that.setData({
        isLogin: App.checkIsLogin(),
      });
      if (that.data.isLogin) {
        that.setData({
          teamId: App.checkTeam(),
          // page1: 1,          // 当前页码
          // no_more: false, // 没有更多数据
          // isLoading: true, // 是否正在加载中
        });
        //设置页面高度
        if(this.data.page1 == 1){
          that.setListHeight()
        }
        //分类
        that.getCate()
        //--------------------先获取定位----获取数据列表------------------------
        // 获取当前用户的经纬度type = wgs84
        wx.getLocation({
          type: 'gcj02',
          success (res) {
            console.log("res-s",res);
            that.setData({
              latitude : res.latitude,
              longitude : res.longitude,
            });
            // 加载页面数据
            that.getDataList();
          },fail: e => {
            //模拟器中使用 2023年6月21日 11:22:15
            if(e.errMsg != ""){
              that.setData({
                longitude:121.533461,
                latitude:38.86215,
              });
              // 加载页面数据
            that.getDataList();
            }
            // 判断用户是否拒绝了授权
            wx.getSetting({
              success: res => {
                if (typeof(res.authSetting['scope.userLocation']) != 'undefined' && !res.authSetting['scope.userLocation']) {
                  // 用户拒绝了授权
                  wx.showModal({
                    title: '提示',
                    content: '您拒绝了定位权限，将无法使用企业风采功能',
                    success: res => {
                      if (res.confirm) {
                        // 跳转设置页面
                        wx.openSetting({
                          success: res => {
                            if (res.authSetting['scope.userLocation']) {
                              // 授权成功，重新定位
                              wx.getLocation({
                                success: res => {
                                  that.setData({
                                    latitude : res.latitude,
                                    longitude : res.longitude,
                                  });
                                  // 加载页面数据
                                  that.getDataList();
                                }
                              });
                            } else {
                              // 没有允许定位权限
                              wx.showToast({
                                title: '您拒绝了定位权限，将无法使用企业风采功能',
                                icon: 'none'
                              });
                            }
                          }
                        });
                      }
                    }
                  });
                }
              }
            });
          }
        });
      }
      that.setData({
        isRefresh:false
      })
    }
    
  },
  //分类
  getCate(){
    let that = this;
    App._get('company', {}, result => {
      that.setData({
        menuList: result.data.categoryList
      }); 
    });
  },
  
  //获取数据列表
  getDataList(isPage, page){
    let obj ={
      page1: page || 1,
      searchInput:this.data.searchInput,
      cate_id: this.data.menuId,
      longitude:this.data.longitude,
      latitude:this.data.latitude,
      isbirthday:this.data.orderChecked
    };
     console.log("getDataList",obj)
    if(this.data.cate=="2"){
      obj.team_id = this.data.teamId
    }
    let _this = this;
    App._get('company/lists',obj , function(result) {
      let resList = result.data,
      dataList = _this.data.list;
      if (isPage == true) {
        _this.setData({
          list: dataList.concat(resList.list),
          isLoading: false,
          last_page: resList.last_page,
        });
      } else {
        _this.setData({
          list: resList.list,
          isLoading: false,
          last_page: resList.last_page,
        });
      }
    });
  },
  // 搜索查询
  onChangeSearch(e){
    let that = this;
    console.log(e.detail.value.searchInput)
    that.setData({
      searchInput: e.detail.value.searchInput,
      no_more: false, // 没有更多数据
      isLoading: true, // 是否正在加载中
      page1: 1,          // 当前页码
      last_page:1,       //最后页码
    }); 
    that.getDataList();
  },
  toSearch(e){
    let that = this;
    that.setData({
      searchInput: e.detail.value,
      no_more: false, // 没有更多数据
      isLoading: true, // 是否正在加载中
      page1: 1,          // 当前页码
      last_page:1,       //最后页码
    }); 
    that.getDataList();
  },

  //排序切换
  switchChange(e){
    let that = this
    this.setData({
      orderChecked:e.detail.value
    })
    that.getDataList();
   
  },

  // tab切换
  onChangeNews(e){
    let that = this;
    that.setData({
      cate: e.currentTarget.dataset.id,
      searchInput:"",
      menuMoreStatus: false,
      no_more: false, // 没有更多数据
      isLoading: true, // 是否正在加载中
      page1: 1,          // 当前页码
      last_page:1,       //最后页码
    }); 
    that.getDataList();
  },
  //菜单切换
  onChangMenu(e){
    let that = this;
    that.setData({
      menuId: e.currentTarget.dataset.id,
      searchInput:"",
      menuMoreStatus: false,
      no_more: false,  // 没有更多数据
      isLoading: true, // 是否正在加载中
      page1: 1,         // 当前页码
      last_page:1,     // 最后页码
    }); 
    that.getDataList();
  },  

  // 详情页跳转
  newsDetail(e){
    let nid = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: './detail/index?nid=' + nid,
    })
  },
  //生日海报
  poster(e){
    let user_id = e.currentTarget.dataset.id;
    let _this = this
    // 调用后台api获取核销二维码
    wx.showLoading({title: '加载中'});
    App._get('company/birthdayPoster', {user_id}, (result) => {
      // 设置二维码图片路径
      _this.setData({
        QRCodeImage: result.data.url,
        showPopup: true
      });
    }, null, () => {
      wx.hideLoading();
    });
  },
// 海报弹窗
onShowPopup(e){
  let that = this;
  that.setData({
    showPopup: !that.data.showPopup
  }); 
},
  /**
   * 下拉到底加载数据
   */
  bindDownLoad() {
    console.log("翻页",this.data.page1)
    // 已经是最后一页
    if (this.data.page1 >= this.data.last_page) {
      this.setData({
        no_more: true
      });
      return false;
    }
    // 加载下一页列表
    this.getDataList(true, ++this.data.page1);
  },

  /**
   * 设置文章列表高度
   */
  setListHeight() {
    let systemInfo = wx.getSystemInfoSync(),
      rpx = systemInfo.windowWidth / 750, // 计算rpx
      tapHeight = Math.floor(rpx * 98), // tap高度
      scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
    console.log(
      "高度 =",systemInfo.windowHeight
    );
    this.setData({
      scrollHeight
    });
  },
  /**
  * 分享当前页面
  */
 onShareAppMessage() {
    return {
      title: "狮企风采",
      path: "pages/company/index"
    };
 },
  /**
   * 分享到朋友圈
   */
  onShareTimeline() {
    return {
    title: "狮企风采",
      path: "pages/company/index"
    };
  },
  // 下载图片
  bindsaveimage:function(){
    wx.getImageInfo({
      src: this.data.QRCodeImage,//这里放你要下载图片的数组(多张) 或 字符串(一张) 下面代码不用改动
      success: function (ret) {
        var path = ret.path;
        wx.saveImageToPhotosAlbum({
          filePath: path,
          success(result) {
            console.log("成功");
            wx.hideLoading();
            wx.showToast({
              title: '下载图片成功',
              duration: 2000,
              mask: true,
            });
          },
          fail(result) {
            console.log("失败,你取消了" + JSON.stringify(result))
            console.log(path);
            wx.openSetting({
              success: (res) => {
                console.log(res);
              }
            })
          }
        });
      }
    });
  }
})